package com.java.exceptionLearn;



import org.junit.Test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * @author Lenl
 * @create 2021-06-01 18:51
 *
 * 开发中由于运行时异常比较常见，通常不针对运行时异常写try-catch-finally
 * 针对编译时异常一般采用try-catch-finally
 *
 * 异常处理方法二：throws+异常类型
 *  1."throws+异常类型"写在方法声明处，指可能抛出异常。
 *    一旦方法体执行出现异常，仍会生成异常对象并抛出。异常的后面的代码不再执行。
 *  2.try-catch-finally真正处理异常，throw将异常抛给了调用者，未处理。
 */
public class ExceptionTest1 {

    public static void main(String[] args) {
        try {
            method2();
        } catch (FileNotFoundException e) {
            System.out.println(e.getMessage());
        }catch (IOException e){
            e.printStackTrace();
        }
    }


    public static void method2() throws FileNotFoundException,IOException {
        method1();
    }


    public static void method1() throws FileNotFoundException, IOException {
        File file=new File("hello.txt");
        FileInputStream fs=new FileInputStream(file);

        int data=fs.read();
        while(data!=-1){
            System.out.print((char) data);
            data=fs.read();
        }
        fs.close();
    }
}
